#26.小U的数字插入问题
# 问题描述
# 小U手中有两个数字 a 和 b。第一个数字是一个任意的正整数，而第二个数字是一个非负整数。她的任务是将第二个数字 b 插入到第一个数字 a 的某个位置，以形成一个最大的可能数字。

# 你需要帮助小U找到这个插入位置，输出插入后的最大结果。

# 测试样例
# 样例1：

# 输入：a = 76543, b = 4
# 输出：765443

# 样例2：

# 输入：a = 1, b = 0
# 输出：10

# 样例3：

# 输入：a = 44, b = 5
# 输出：544

# 样例4：

# 输入：a = 666, b = 6
# 输出：6666

def solution(a: int, b: int) -> int:
    # PLEASE DO NOT MODIFY THE FUNCTION SIGNATURE
    # write code here
    a_str = str(a)
    b_str = str(b) 
    
    for i in range(len(a_str)):
        #按b的长度截取字符串
        a_sub=a_str[i:i+len(b_str)]
        #a_sub长度不足时再末尾补0
        if len(a_sub)<len(b_str):
            a_sub=a_sub.ljust(len(b_str),'0')
            print(a_sub)
        if b_str> a_sub:
        #    print(int(a_str[:i] + b_str + a_str[i:]))
            return int(a_str[:i] + b_str + a_str[i:])

    return int(a_str + b_str)

if __name__ == '__main__':
    print(solution(76543, 4) == 765443)
    print(solution(1, 0) == 10)
    print(solution(44, 5) == 544)
    print(solution(666, 6) == 6666)
    print(solution(9, 15) == 915)
    print(solution(13, 15) == 1513)